package Sort;

/**
 * 1.首先在未排序序列中找到最小(最大)元素,存放到排序序列的起始位置
 * 2.再从剩余未排序元素中继续寻找最小(最大)元素,然后放到已排序序列的末尾
 * 3.重复第2步,直到所有元素均排序完毕
 */
public class SelectionSort {
    public static int[] SelectionSort(int[] arr){
        for (int i = 0; i < arr.length - 1; i++){
            int minIndex = i;
            for (int j = i + 1; j < arr.length; j++){
                if (arr[j] < arr[minIndex]) minIndex = j;
            }

            if (minIndex != i){
                int tmp = arr[i];
                arr[i] = arr[minIndex];
                arr[minIndex] = tmp;
            }
        }

        return arr;
    }
}
